Software Support For Improving Locality in Advanced Scientific Codes
نویسنده
چکیده
Programs can achieve good performance only if they possess data locality, This paper describes our proposal to develop and evaluate software support for improving locality for advanced scientific applications for both sequential and parallel machines. The basic premise is that both compile-time analyses and sophisticated run-time systems are necessary. Run-time systems are needed because many programs are not analyzable statically. Compiler support is crucial both for inserting interfaces to the run-time system and for directly applying program transformations where possible. We examine locality optimizations needed for three features of advanced scientific applications (3D arrays, irregular accesses, and pointers). Preliminary experimental evaluation is very encouraging, but much work remains to automate and improve these compiler and run-time systems. We propose to extend locality optimizations in several directions, handling: cache conflicts between multiple data, deep memory hierarchies (multi-level caches and TLBs), hardware and software prefetching, nonlinear memory layouts, parallel and cluster architectures, and memory performance tools. Because of trends in computer architectures, lessons learned here are also likely to prove very useful for other application domains, including image processing and high-performance databases. Technical Report CS-TR-4168 (also UMIACS-TR-2000-56), Dept. of Computer Science, University of Maryland, June 2000
منابع مشابه
Software Support For Improving Locality in Scientific Codes
We propose to develop and evaluate software support for improving locality for advanced scientific applications. We will investigate compiler and run-time techniques needed to achieve high performance on both sequential and parallel machines. We will focus on two areas. First, iterative PDE solvers for 3D partial differential equations have poor locality because accesses to nearby elements in h...
متن کاملEvaluating Locality Optimizations For Adaptive Irregular Scientific Codes
Irregular scientific codes experience poor cache performance due to their memory access patterns. Researchers have proposed several data and computation transformations to improve locality in irregular scientific codes. We experimentally compare their performance and present GPART, a new technique based on hierarchical clustering. Quality partitions are constructed quickly by clustering multipl...
متن کاملCompiler and Run-time Support for Improving Locality in Scientiic Codes (extended Abstract)
متن کامل
The Efficacy of Software Prefetching and Locality Optimizations on Future Memory Systems
Software prefetching and locality optimizations are techniques for overcoming the speed gap between processor and memory. In this paper, we provide a comprehensive summary of current software prefetching and locality optimization techniques, and evaluate the impact of memory trends on the effectiveness of these techniques for three types of applications: regular scientific codes, irregular scie...
متن کاملLocality Optimizations For Adaptive Irregular Scientific Codes
Irregular scientific codes experience poor cache performance due to their memory access patterns. We examine several data and computation locality transformations including GPART, a new technique based on hierarchical clustering. GPART constructs quality partitions quickly by clustering multiple neighboring nodes in a few passes, with priority on nodes with high degree. Overhead is kept low by ...
متن کامل